package com.zzyl.controller;

import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.zzyl.base.ResponseResult;
import com.zzyl.dto.LoginDTO;
import com.zzyl.service.LoginService;
import com.zzyl.vo.UserVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 登录接口
 */
@RestController
@Api(tags = "用户登录")
@RequestMapping("/security")
@Slf4j
public class LoginController {

    @Autowired
    private LoginService loginService;

    @PostMapping("/login")
    @ApiOperation(value = "用户登录", notes = "用户登录")
    @ApiOperationSupport(includeParameters = {"loginDTO.username", "loginDTO.password"})
    public ResponseResult<UserVo> login(@RequestBody LoginDTO loginDTO) {
        log.info("后台登录：{}", loginDTO);
        return ResponseResult.success(loginService.login(loginDTO));
    }
}
